package com.hmy.finance.service.rdto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
import com.hmy.finance.dal.po.json.CustomerExtensionInfoJson;
import com.hmy.finance.dal.po.json.OrderExtensionInfoJson;
import com.hmy.finance.service.core.dto.OverdueDetailDto;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 应收盘点
 *
 * @TableName receivable_Inventory
 */
@Data
public class ReceivableInventoryRdto implements Serializable {

    /**
     * 区域code
     */
    private Long areaCode;

    /**
     * 区域名称
     */
    private String areaName;

    /**
     * 区域经理id
     */
    private Long areaManagerId;

    /**
     * 区域经理name
     */
    private String areaManagerName;

    /**
     * 客户ID
     */
    private Long customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 承租人1
     */
    private String lesseeFirst;

    /**
     * 承租人2
     */
    private String lesseeSecond;

    /**
     * 销售合同ID
     */
    private Long contractId;

    /**
     * 销售合同编号
     */
    private String contractNo;

    /**
     * 结算方式
     */
    private Integer settlementMethod;

    /**
     * 结算方式描述
     */
    private String settlementMethodDesc;

    /**
     * 账期
     */
    private String accountPeriod;

    /**
     * 订单ID
     */
    private Long orderId;

    /**
     * 总营收
     */
    private BigDecimal totalRevenueAmount;

    /**
     * 已开票金额
     */
    private BigDecimal totalInvoicedAmount;

    /**
     * 已对账总额
     */
    private BigDecimal totalReconciliationedAmount;

    /**
     * 未对账总额
     */
    private BigDecimal totalUnreconciliationAmount;

    /**
     * 已回款总额
     */
    private BigDecimal totalReceivedAmount;

    /**
     * 最后一次回款时间
     */
    private LocalDateTime lastReceivedTime;

    /**
     * 应收余额合计
     */
    private BigDecimal totalReceivableAmount;

    /**
     * 未到期金额
     */
    private BigDecimal unexpiredAmount;

    /**
     * 当期金额
     */
    private BigDecimal currentAmount;

    /**
     * 逾期盘点
     */
    private List<OverdueDetailDto> overdueDetail;

    /**
     * 逾期1-30天
     */
    private BigDecimal overdueAmount30;

    /**
     * 逾期31-60天
     */
    private BigDecimal overdueAmount60;

    /**
     * 逾期61-90天
     */
    private BigDecimal overdueAmount90;

    /**
     * 逾期总计
     */
    private BigDecimal totalOverdueAmount;

    /**
     * 销售经理ID
     */
    private Long saleManagerId;

    /**
     * 销售经理姓名
     */
    private String saleManagerName;

    /**
     * 部门ID
     */
    private Long saleManagerDeptId;

    /**
     * 客户扩展信息
     */
    private CustomerExtensionInfoJson customerExtensionInfo;

    /**
     * 订单扩展信息
     */
    private OrderExtensionInfoJson orderExtensionInfo;

    /**
     * 合同签署时间
     */
    private LocalDateTime contractSignTime;

}